/************************************************************
https://anotherssisframework.codeplex.com

Copyright (c) 2014, Allen J. Zyck <sql.architect@outlook.com>

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated 
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights 
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
 to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the 
Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE 
AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


************************************************************/

/***********
File: CreateErrorTable.sql

Description:
This is a template to create an error table where information 
about data rows that couldn't be inserted into a dimension or fact 
table. There is one of these error tables created in the staging
database for each dimension and fact table. The format for naming
the table should be stg.<factschema>_<facttablename>_Error. So 
for the [hr].[FactPayroll] table, the error table would be
named stg.hr_FactPayroll_Error. 

The stg.DummyFactError table needs to be created in 
development to prevent the SSIS templates from creating errors
in BIDS.

***********/

USE <database, sysname, DWStaging>
GO


CREATE TABLE stg.<Fact Error Table, sysname, DummyFactError>(
	RowNumber int NULL,
	ErrorNumber int NULL,
	ErrorDescription varchar(256) NULL,
	ColumnId int NULL,
	LineageTMST datetime NULL,
	LineageString varchar(128) NULL,
	InsertTMST datetime NOT NULL CONSTRAINT DF_stg_DummyFactError_InsertTMST  DEFAULT (getdate()) FOR InsertTMST,
	InsertedBy sysname NOT NULL CONSTRAINT DF_stg_DummyFactError_InsertedBy  DEFAULT (suser_sname()) FOR InsertedBy
) ON "default"

GO



